package com.example.leetcode.string;

import com.example.leetcode.string.common.StringUtils;

/**
 * 给你一个只包含 '(' 和 ')' 的字符串，找出最长有效（格式正确且连续）括号子串的长度。
 *
 *
 *
 * 示例 1：
 *
 * 输入：s = "(()"
 * 输出：2
 * 解释：最长有效括号子串是 "()"
 * 示例 2：
 *
 * 输入：s = ")()())"
 * 输出：4
 * 解释：最长有效括号子串是 "()()"
 * 示例 3：
 *
 * 输入：s = ""
 * 输出：0
 *
 *
 * 提示：
 *
 * 0 <= s.length <= 3 * 104
 * s[i] 为 '(' 或 ')'
 */
public class leetcode32 {
    public static void main(String[] args) {
        test("(()");

        test(")()())");

        test("");

        test("(()()())())");
    }

    private static void test(String s) {
        Solution solution = new Solution();
        int validParentheses = solution.longestValidParentheses(s);
        System.out.println(validParentheses);
    }

    static class Solution {
        public int longestValidParentheses(String s) {
            return StringUtils.longestValidParentheses(s);
        }
    }
}
